Inserting and deleting

These commands are the core of BEAV. These commands allow the buffer to be edited in a similar fashion to a text editor. BEAV has an insert mode much the same as text editors but it only works when displaying data in one of the text modes, either ASCII or EBCDIC. In other modes it doesn't make any sense to insert characters as they are typed when there is more than one characters per unit. In the data modes there is a command that inserts a unit of zeros into the buffer. Similarly the delete commands always delete a unit rather than a character. In a text mode the delete commands work as in a text editor because a unit is a character.



        678901234567890123456789012345678901234567890
 		 Ctl-X I 		 insert-unit 		 
        

Insert a zero at the cursor position. The rest of the data moves down one place. Thus, if double words are being displayed, four bytes are inserted before the cursor position. These bytes are initialized to zero. This command works in all display modes.



        678901234567890123456789012345678901234567890
 		 Ctl-X Ctl-A 		 insert-toggle 		 Insert
        

In either of the two text modes this command toggles between insert mode and overwrite mode. In insert mode each character that is typed is inserted in front of the cursor and the rest of the buffer is moved down. In overwrite mode the typed characters replace the character that is at the cursor. This command has no effect in a non-text display mode.



        678901234567890123456789012345678901234567890
 		 Ctl-Q 		 insert-literally 		 Esc Q
        

This command sets a special temporary mode where the next typed character is inserted in the buffer no matter what the character is. This allows control codes to be inserted in the buffer when in a text display mode. Alternatively the same byte could be inserted into the buffer by using one of the data display modes. It night be faster to use this command on some occasions.



        678901234567890123456789012345678901234567890
 		 Ctl-T 		 unit-twiddle 		 
        

The unit at the cursor is swapped with the previous unit.



        678901234567890123456789012345678901234567890
 		 Rubout 		 delete-back-char 		 Backspace
        

This command deletes the character before the cursor and pulls the rest of the buffer back. The cursor remains on the same character as it moves back. It only works in the text and byte display modes.



        678901234567890123456789012345678901234567890
 		 Ctl-D 		 delete-forw-char 		 Delete
        

The character at the cursor is deleted and the buffer is pulled back. The cursor remains at the same position. It only works in the text and byte display modes.



        678901234567890123456789012345678901234567890
 		 Esc Rubout 		 delete-back-unit 		 Esc Ctl-K
        

This command deletes the unit before the cursor and pulls the rest of the buffer back. The cursor remains on the same unit as it moves back.



        678901234567890123456789012345678901234567890
 		 Esc D 		 delete-forw-unit 		 
        

The unit at the cursor is deleted and the buffer is pulled back. The cursor remains at the same position.



        678901234567890123456789012345678901234567890
 		 Esc W 		 copy-mark-to-cursor 		 F7
        

The area in the buffer from the mark to the current cursor position is copied into the kill buffer. If the mark is not set before this command is given an error is reported.



        678901234567890123456789012345678901234567890
 		 Ctl-W 		 delete-mark-to-cursor 		 F8
        

The area in the buffer from the mark to the current cursor position is deleted and placed into the kill buffer. If the mark is not set before this command is given an error is reported.



        678901234567890123456789012345678901234567890
 		 Ctl-Y 		 yank 		 F6
        

The contents of the kill buffer is inserted into the buffer at the cursor position. The kill buffer itself is not changed.